package br.com.unip.visao;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import br.com.unip.modelo.Projeto;
import br.com.unip.persistencia.ProjetoDao;

public class AppProjetoNovoGui extends JFrame implements ActionListener {
	private static final long serialVersionUID = 1L;
	private JDialog dialogFunc;
	private JPanel panelProj;
	private JLabel labelProNome, labelProDuracao, labelProNumDepto;
	private JTextField textProNome, textProDuracao, textProNumDepto;
	private JButton btnProSalvar, btnProCancelar;

	public AppProjetoNovoGui() {
		super("Projeto UNIP - SWING - ALPOO - Novo projeto");
		
		labelProNome = new JLabel("Nome:");
		labelProDuracao = new JLabel("Duração (dias):");
		labelProNumDepto = new JLabel("Número de departamento:");

		textProNome = new JTextField(50);
		textProDuracao = new JTextField(50);
		textProNumDepto = new JTextField(50);

		btnProSalvar = new JButton("Salvar");
		btnProCancelar = new JButton("Cancelar");

		btnProSalvar.addActionListener(this);
		btnProCancelar.addActionListener(this);

		panelProj = new JPanel();
		panelProj.setLayout(new GridLayout(6, 2));
		panelProj.setBorder(BorderFactory.createTitledBorder("Dados"));
		panelProj.add(labelProNome);
		panelProj.add(textProNome);
		panelProj.add(labelProDuracao);
		panelProj.add(textProDuracao);
		panelProj.add(labelProNumDepto);
		panelProj.add(textProNumDepto);
		panelProj.add(btnProSalvar);
		panelProj.add(btnProCancelar);
		
		dialogFunc = new JDialog();
		dialogFunc.add(panelProj);
		
		dialogFunc.setResizable(false);
		dialogFunc.setSize(650, 200);
		dialogFunc.setLocationRelativeTo(null);
		dialogFunc.setModal(true);
		dialogFunc.setVisible(true);
	}

	public void actionPerformed(ActionEvent ae) {
		Object evento = ae.getSource();
		if (evento == btnProSalvar) {
			System.out.println("Ação => Salvando");
			try {
				Projeto p = new Projeto();
				ProjetoDao pd = new ProjetoDao();
				p.setNome(textProNome.getText());
				p.setDuracao(Float.parseFloat(textProDuracao.getText()));
				p.setCod_proj(Integer.parseInt(textProNumDepto.getText()));
				pd.gravar(p);
				textProNome.setText("");
				textProDuracao.setText("");
				textProNumDepto.setText("");
				textProNome.requestFocus();
				JOptionPane.showMessageDialog(null,
						"Registro salvo com sucesso!", "Sucesso",
						JOptionPane.INFORMATION_MESSAGE);
				
				// Gambiarra que tem que ser arrumada! o.O (sem net para pesquisar)
				AppListGui.paneLista.setSelectedIndex(0);
				AppListGui.paneLista.setSelectedIndex(1);
			} catch (Exception e) {
				JOptionPane.showMessageDialog(null, "Erro : " + e.getMessage(),
						"Atenção!", JOptionPane.ERROR_MESSAGE);
			}
		}
		if (evento == btnProCancelar) {
			System.out.println("Ação => Cancelando");
			dialogFunc.dispose();
		}
	}
}
